package com.yeyks.consumer.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户会员卡表
 * </p>
 *
 * @author yun
 * @since 2019-06-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="UserMemberCard对象", description="用户会员卡表")
public class UserMemberCard implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "会员卡id")
    @TableField("card_id")
    private Integer cardId;

    @ApiModelProperty(value = "用户总的充值金额(单位/分)")
    @TableField("total_pay_amount")
    private Integer totalPayAmount;

    @ApiModelProperty(value = "用户剩余的充值金额(单位/分，扣除时先扣除用户充值金额)")
    @TableField("remain_pay_amount")
    private Integer remainPayAmount;

    @ApiModelProperty(value = "送的总金额(单位/分)")
    @TableField("total_give_amount")
    private Integer totalGiveAmount;

    @ApiModelProperty(value = "送的剩余金额(单位/分)")
    @TableField("remain_give_amount")
    private Integer remainGiveAmount;

    @ApiModelProperty(value = "支付密码")
    @TableField("pay_password")
    private String payPassword;

    @ApiModelProperty(value = "用户手机号(冗余字段)")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "状态默认0未删除，1已删除")
    @TableField("is_del")
    private Integer isDel;

    @ApiModelProperty(value = "1:甄选  2：精选")
    @TableField("card_type")
    private Integer cardType;

    @ApiModelProperty(value = "创建日期")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "更新日期")
    @TableField("update_time")
    private Date updateTime;


    public static final String ID = "id";

    public static final String USER_ID = "user_id";

    public static final String CARD_ID = "card_id";

    public static final String TOTAL_PAY_AMOUNT = "total_pay_amount";

    public static final String REMAIN_PAY_AMOUNT = "remain_pay_amount";

    public static final String TOTAL_GIVE_AMOUNT = "total_give_amount";

    public static final String REMAIN_GIVE_AMOUNT = "remain_give_amount";

    public static final String PAY_PASSWORD = "pay_password";

    public static final String PHONE = "phone";

    public static final String IS_DEL = "is_del";

    public static final String CARD_TYPE = "card_type";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_TIME = "update_time";

}
